package ai.people.netmon.facebook.probe.service;

import ai.people.netmon.framework.domain.facebook.probe.entity.FacebookAccount;
import ai.people.netmon.framework.domain.facebook.view.entity.FacebookAccountView;
import ai.people.netmon.framework.domain.facebook.probe.request.QueryRequest;
import ai.people.netmon.framework.model.response.PageResponse;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zhenglin
 * @since 2022-03-11
 */
public interface FacebookAccountService extends IService<FacebookAccount> {

    /**
     * 分页查询页面
     *
     * @param request 请求
     * @return {@link PageResponse}<{@link FacebookAccount}>
     */
    PageResponse<FacebookAccount> queryPage(QueryRequest request);

    /**
     * 添加facebook账号
     *
     * @param account 账户
     */
    void saveAccount(FacebookAccount account);

    /**
     * 更新facebook账号信息
     *
     * @param account 账户
     */
    void updateAccount(FacebookAccount account);

    /**
     * 通过用户id获取facebook用户信息
     *
     * @param id id
     * @return {@link FacebookAccount}
     */
    FacebookAccount getUserById(Long id);

    /**
     * 批量保存facebook账号信息
     *
     * @param list 列表
     */
    void saveBatchData(List<FacebookAccount> list);
}
